package com.simple.datax.db.mybatis.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

/**
 * 
 * @author paladin
 *
 */
public class DataxFailedCriteria {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DataxFailedCriteria() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andIdIsNull() {
            addCriterion("FI_ID is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("FI_ID is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("FI_ID =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("FI_ID <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("FI_ID >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("FI_ID >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("FI_ID <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("FI_ID <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("FI_ID in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("FI_ID not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("FI_ID between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("FI_ID not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andRecvRawMsgidIsNull() {
            addCriterion("FC_RECV_RAW_MSG_ID is null");
            return (Criteria) this;
        }

        public Criteria andRecvRawMsgidIsNotNull() {
            addCriterion("FC_RECV_RAW_MSG_ID is not null");
            return (Criteria) this;
        }

        public Criteria andRecvRawMsgidEqualTo(String value) {
            addCriterion("FC_RECV_RAW_MSG_ID =", value, "recvRawMsgid");
            return (Criteria) this;
        }

        public Criteria andRecvRawMsgidNotEqualTo(String value) {
            addCriterion("FC_RECV_RAW_MSG_ID <>", value, "recvRawMsgid");
            return (Criteria) this;
        }

        public Criteria andRecvRawMsgidGreaterThan(String value) {
            addCriterion("FC_RECV_RAW_MSG_ID >", value, "recvRawMsgid");
            return (Criteria) this;
        }

        public Criteria andRecvRawMsgidGreaterThanOrEqualTo(String value) {
            addCriterion("FC_RECV_RAW_MSG_ID >=", value, "recvRawMsgid");
            return (Criteria) this;
        }

        public Criteria andRecvRawMsgidLessThan(String value) {
            addCriterion("FC_RECV_RAW_MSG_ID <", value, "recvRawMsgid");
            return (Criteria) this;
        }

        public Criteria andRecvRawMsgidLessThanOrEqualTo(String value) {
            addCriterion("FC_RECV_RAW_MSG_ID <=", value, "recvRawMsgid");
            return (Criteria) this;
        }

        public Criteria andRecvRawMsgidLike(String value) {
            addCriterion("FC_RECV_RAW_MSG_ID like", value, "recvRawMsgid");
            return (Criteria) this;
        }

        public Criteria andRecvRawMsgidNotLike(String value) {
            addCriterion("FC_RECV_RAW_MSG_ID not like", value, "recvRawMsgid");
            return (Criteria) this;
        }

        public Criteria andRecvRawMsgidIn(List<String> values) {
            addCriterion("FC_RECV_RAW_MSG_ID in", values, "recvRawMsgid");
            return (Criteria) this;
        }

        public Criteria andRecvRawMsgidNotIn(List<String> values) {
            addCriterion("FC_RECV_RAW_MSG_ID not in", values, "recvRawMsgid");
            return (Criteria) this;
        }

        public Criteria andRecvRawMsgidBetween(String value1, String value2) {
            addCriterion("FC_RECV_RAW_MSG_ID between", value1, value2, "recvRawMsgid");
            return (Criteria) this;
        }

        public Criteria andRecvRawMsgidNotBetween(String value1, String value2) {
            addCriterion("FC_RECV_RAW_MSG_ID not between", value1, value2, "recvRawMsgid");
            return (Criteria) this;
        }

        public Criteria andMessageidIsNull() {
            addCriterion("FC_MESSAGE_ID is null");
            return (Criteria) this;
        }

        public Criteria andMessageidIsNotNull() {
            addCriterion("FC_MESSAGE_ID is not null");
            return (Criteria) this;
        }

        public Criteria andMessageidEqualTo(String value) {
            addCriterion("FC_MESSAGE_ID =", value, "parseRawMsgid");
            return (Criteria) this;
        }

        public Criteria andMessageidNotEqualTo(String value) {
            addCriterion("FC_MESSAGE_ID <>", value, "parseRawMsgid");
            return (Criteria) this;
        }

        public Criteria andMessageidGreaterThan(String value) {
            addCriterion("FC_MESSAGE_ID >", value, "parseRawMsgid");
            return (Criteria) this;
        }

        public Criteria andMessageidGreaterThanOrEqualTo(String value) {
            addCriterion("FC_MESSAGE_ID >=", value, "parseRawMsgid");
            return (Criteria) this;
        }

        public Criteria andMessageidLessThan(String value) {
            addCriterion("FC_MESSAGE_ID <", value, "parseRawMsgid");
            return (Criteria) this;
        }

        public Criteria andMessageidLessThanOrEqualTo(String value) {
            addCriterion("FC_MESSAGE_ID <=", value, "parseRawMsgid");
            return (Criteria) this;
        }

        public Criteria andMessageidLike(String value) {
            addCriterion("FC_MESSAGE_ID like", value, "parseRawMsgid");
            return (Criteria) this;
        }

        public Criteria andMessageidNotLike(String value) {
            addCriterion("FC_MESSAGE_ID not like", value, "parseRawMsgid");
            return (Criteria) this;
        }

        public Criteria andMessageidIn(List<String> values) {
            addCriterion("FC_MESSAGE_ID in", values, "parseRawMsgid");
            return (Criteria) this;
        }

        public Criteria andMessageidNotIn(List<String> values) {
            addCriterion("FC_MESSAGE_ID not in", values, "parseRawMsgid");
            return (Criteria) this;
        }

        public Criteria andMessageidBetween(String value1, String value2) {
            addCriterion("FC_MESSAGE_ID between", value1, value2, "parseRawMsgid");
            return (Criteria) this;
        }

        public Criteria andMessageidNotBetween(String value1, String value2) {
            addCriterion("FC_MESSAGE_ID not between", value1, value2, "parseRawMsgid");
            return (Criteria) this;
        }

        public Criteria andSendRawMsgidIsNull() {
            addCriterion("FC_SEND_RAW_MSG_ID is null");
            return (Criteria) this;
        }

        public Criteria andSendRawMsgidIsNotNull() {
            addCriterion("FC_SEND_RAW_MSG_ID is not null");
            return (Criteria) this;
        }

        public Criteria andSendRawMsgidEqualTo(String value) {
            addCriterion("FC_SEND_RAW_MSG_ID =", value, "sendRawMsgid");
            return (Criteria) this;
        }

        public Criteria andSendRawMsgidNotEqualTo(String value) {
            addCriterion("FC_SEND_RAW_MSG_ID <>", value, "sendRawMsgid");
            return (Criteria) this;
        }

        public Criteria andSendRawMsgidGreaterThan(String value) {
            addCriterion("FC_SEND_RAW_MSG_ID >", value, "sendRawMsgid");
            return (Criteria) this;
        }

        public Criteria andSendRawMsgidGreaterThanOrEqualTo(String value) {
            addCriterion("FC_SEND_RAW_MSG_ID >=", value, "sendRawMsgid");
            return (Criteria) this;
        }

        public Criteria andSendRawMsgidLessThan(String value) {
            addCriterion("FC_SEND_RAW_MSG_ID <", value, "sendRawMsgid");
            return (Criteria) this;
        }

        public Criteria andSendRawMsgidLessThanOrEqualTo(String value) {
            addCriterion("FC_SEND_RAW_MSG_ID <=", value, "sendRawMsgid");
            return (Criteria) this;
        }

        public Criteria andSendRawMsgidLike(String value) {
            addCriterion("FC_SEND_RAW_MSG_ID like", value, "sendRawMsgid");
            return (Criteria) this;
        }

        public Criteria andSendRawMsgidNotLike(String value) {
            addCriterion("FC_SEND_RAW_MSG_ID not like", value, "sendRawMsgid");
            return (Criteria) this;
        }

        public Criteria andSendRawMsgidIn(List<String> values) {
            addCriterion("FC_SEND_RAW_MSG_ID in", values, "sendRawMsgid");
            return (Criteria) this;
        }

        public Criteria andSendRawMsgidNotIn(List<String> values) {
            addCriterion("FC_SEND_RAW_MSG_ID not in", values, "sendRawMsgid");
            return (Criteria) this;
        }

        public Criteria andSendRawMsgidBetween(String value1, String value2) {
            addCriterion("FC_SEND_RAW_MSG_ID between", value1, value2, "sendRawMsgid");
            return (Criteria) this;
        }

        public Criteria andSendRawMsgidNotBetween(String value1, String value2) {
            addCriterion("FC_SEND_RAW_MSG_ID not between", value1, value2, "sendRawMsgid");
            return (Criteria) this;
        }

        public Criteria andMsgTypeIsNull() {
            addCriterion("FC_MSG_TYPE is null");
            return (Criteria) this;
        }

        public Criteria andMsgTypeIsNotNull() {
            addCriterion("FC_MSG_TYPE is not null");
            return (Criteria) this;
        }

        public Criteria andMsgTypeEqualTo(String value) {
            addCriterion("FC_MSG_TYPE =", value, "msgType");
            return (Criteria) this;
        }

        public Criteria andMsgTypeNotEqualTo(String value) {
            addCriterion("FC_MSG_TYPE <>", value, "msgType");
            return (Criteria) this;
        }

        public Criteria andMsgTypeGreaterThan(String value) {
            addCriterion("FC_MSG_TYPE >", value, "msgType");
            return (Criteria) this;
        }

        public Criteria andMsgTypeGreaterThanOrEqualTo(String value) {
            addCriterion("FC_MSG_TYPE >=", value, "msgType");
            return (Criteria) this;
        }

        public Criteria andMsgTypeLessThan(String value) {
            addCriterion("FC_MSG_TYPE <", value, "msgType");
            return (Criteria) this;
        }

        public Criteria andMsgTypeLessThanOrEqualTo(String value) {
            addCriterion("FC_MSG_TYPE <=", value, "msgType");
            return (Criteria) this;
        }

        public Criteria andMsgTypeLike(String value) {
            addCriterion("FC_MSG_TYPE like", value, "msgType");
            return (Criteria) this;
        }

        public Criteria andMsgTypeNotLike(String value) {
            addCriterion("FC_MSG_TYPE not like", value, "msgType");
            return (Criteria) this;
        }

        public Criteria andMsgTypeIn(List<String> values) {
            addCriterion("FC_MSG_TYPE in", values, "msgType");
            return (Criteria) this;
        }

        public Criteria andMsgTypeNotIn(List<String> values) {
            addCriterion("FC_MSG_TYPE not in", values, "msgType");
            return (Criteria) this;
        }

        public Criteria andMsgTypeBetween(String value1, String value2) {
            addCriterion("FC_MSG_TYPE between", value1, value2, "msgType");
            return (Criteria) this;
        }

        public Criteria andMsgTypeNotBetween(String value1, String value2) {
            addCriterion("FC_MSG_TYPE not between", value1, value2, "msgType");
            return (Criteria) this;
        }

        public Criteria andMsgFormateIsNull() {
            addCriterion("FC_MSG_FORMATE is null");
            return (Criteria) this;
        }

        public Criteria andMsgFormateIsNotNull() {
            addCriterion("FC_MSG_FORMATE is not null");
            return (Criteria) this;
        }

        public Criteria andMsgFormateEqualTo(String value) {
            addCriterion("FC_MSG_FORMATE =", value, "msgFormate");
            return (Criteria) this;
        }

        public Criteria andMsgFormateNotEqualTo(String value) {
            addCriterion("FC_MSG_FORMATE <>", value, "msgFormate");
            return (Criteria) this;
        }

        public Criteria andMsgFormateGreaterThan(String value) {
            addCriterion("FC_MSG_FORMATE >", value, "msgFormate");
            return (Criteria) this;
        }

        public Criteria andMsgFormateGreaterThanOrEqualTo(String value) {
            addCriterion("FC_MSG_FORMATE >=", value, "msgFormate");
            return (Criteria) this;
        }

        public Criteria andMsgFormateLessThan(String value) {
            addCriterion("FC_MSG_FORMATE <", value, "msgFormate");
            return (Criteria) this;
        }

        public Criteria andMsgFormateLessThanOrEqualTo(String value) {
            addCriterion("FC_MSG_FORMATE <=", value, "msgFormate");
            return (Criteria) this;
        }

        public Criteria andMsgFormateLike(String value) {
            addCriterion("FC_MSG_FORMATE like", value, "msgFormate");
            return (Criteria) this;
        }

        public Criteria andMsgFormateNotLike(String value) {
            addCriterion("FC_MSG_FORMATE not like", value, "msgFormate");
            return (Criteria) this;
        }

        public Criteria andMsgFormateIn(List<String> values) {
            addCriterion("FC_MSG_FORMATE in", values, "msgFormate");
            return (Criteria) this;
        }

        public Criteria andMsgFormateNotIn(List<String> values) {
            addCriterion("FC_MSG_FORMATE not in", values, "msgFormate");
            return (Criteria) this;
        }

        public Criteria andMsgFormateBetween(String value1, String value2) {
            addCriterion("FC_MSG_FORMATE between", value1, value2, "msgFormate");
            return (Criteria) this;
        }

        public Criteria andMsgFormateNotBetween(String value1, String value2) {
            addCriterion("FC_MSG_FORMATE not between", value1, value2, "msgFormate");
            return (Criteria) this;
        }

        public Criteria andMsgSenderIsNull() {
            addCriterion("FC_MSG_SENDER is null");
            return (Criteria) this;
        }

        public Criteria andMsgSenderIsNotNull() {
            addCriterion("FC_MSG_SENDER is not null");
            return (Criteria) this;
        }

        public Criteria andMsgSenderEqualTo(String value) {
            addCriterion("FC_MSG_SENDER =", value, "msgSender");
            return (Criteria) this;
        }

        public Criteria andMsgSenderNotEqualTo(String value) {
            addCriterion("FC_MSG_SENDER <>", value, "msgSender");
            return (Criteria) this;
        }

        public Criteria andMsgSenderGreaterThan(String value) {
            addCriterion("FC_MSG_SENDER >", value, "msgSender");
            return (Criteria) this;
        }

        public Criteria andMsgSenderGreaterThanOrEqualTo(String value) {
            addCriterion("FC_MSG_SENDER >=", value, "msgSender");
            return (Criteria) this;
        }

        public Criteria andMsgSenderLessThan(String value) {
            addCriterion("FC_MSG_SENDER <", value, "msgSender");
            return (Criteria) this;
        }

        public Criteria andMsgSenderLessThanOrEqualTo(String value) {
            addCriterion("FC_MSG_SENDER <=", value, "msgSender");
            return (Criteria) this;
        }

        public Criteria andMsgSenderLike(String value) {
            addCriterion("FC_MSG_SENDER like", value, "msgSender");
            return (Criteria) this;
        }

        public Criteria andMsgSenderNotLike(String value) {
            addCriterion("FC_MSG_SENDER not like", value, "msgSender");
            return (Criteria) this;
        }

        public Criteria andMsgSenderIn(List<String> values) {
            addCriterion("FC_MSG_SENDER in", values, "msgSender");
            return (Criteria) this;
        }

        public Criteria andMsgSenderNotIn(List<String> values) {
            addCriterion("FC_MSG_SENDER not in", values, "msgSender");
            return (Criteria) this;
        }

        public Criteria andMsgSenderBetween(String value1, String value2) {
            addCriterion("FC_MSG_SENDER between", value1, value2, "msgSender");
            return (Criteria) this;
        }

        public Criteria andMsgSenderNotBetween(String value1, String value2) {
            addCriterion("FC_MSG_SENDER not between", value1, value2, "msgSender");
            return (Criteria) this;
        }

        public Criteria andMsgReceiverIsNull() {
            addCriterion("FC_MSG_RECEIVER is null");
            return (Criteria) this;
        }

        public Criteria andMsgReceiverIsNotNull() {
            addCriterion("FC_MSG_RECEIVER is not null");
            return (Criteria) this;
        }

        public Criteria andMsgReceiverEqualTo(String value) {
            addCriterion("FC_MSG_RECEIVER =", value, "msgReceiver");
            return (Criteria) this;
        }

        public Criteria andMsgReceiverNotEqualTo(String value) {
            addCriterion("FC_MSG_RECEIVER <>", value, "msgReceiver");
            return (Criteria) this;
        }

        public Criteria andMsgReceiverGreaterThan(String value) {
            addCriterion("FC_MSG_RECEIVER >", value, "msgReceiver");
            return (Criteria) this;
        }

        public Criteria andMsgReceiverGreaterThanOrEqualTo(String value) {
            addCriterion("FC_MSG_RECEIVER >=", value, "msgReceiver");
            return (Criteria) this;
        }

        public Criteria andMsgReceiverLessThan(String value) {
            addCriterion("FC_MSG_RECEIVER <", value, "msgReceiver");
            return (Criteria) this;
        }

        public Criteria andMsgReceiverLessThanOrEqualTo(String value) {
            addCriterion("FC_MSG_RECEIVER <=", value, "msgReceiver");
            return (Criteria) this;
        }

        public Criteria andMsgReceiverLike(String value) {
            addCriterion("FC_MSG_RECEIVER like", value, "msgReceiver");
            return (Criteria) this;
        }

        public Criteria andMsgReceiverNotLike(String value) {
            addCriterion("FC_MSG_RECEIVER not like", value, "msgReceiver");
            return (Criteria) this;
        }

        public Criteria andMsgReceiverIn(List<String> values) {
            addCriterion("FC_MSG_RECEIVER in", values, "msgReceiver");
            return (Criteria) this;
        }

        public Criteria andMsgReceiverNotIn(List<String> values) {
            addCriterion("FC_MSG_RECEIVER not in", values, "msgReceiver");
            return (Criteria) this;
        }

        public Criteria andMsgReceiverBetween(String value1, String value2) {
            addCriterion("FC_MSG_RECEIVER between", value1, value2, "msgReceiver");
            return (Criteria) this;
        }

        public Criteria andMsgReceiverNotBetween(String value1, String value2) {
            addCriterion("FC_MSG_RECEIVER not between", value1, value2, "msgReceiver");
            return (Criteria) this;
        }

        public Criteria andErrorInfoIsNull() {
            addCriterion("FI_ERROR_INFO is null");
            return (Criteria) this;
        }

        public Criteria andErrorInfoIsNotNull() {
            addCriterion("FI_ERROR_INFO is not null");
            return (Criteria) this;
        }

        public Criteria andErrorInfoEqualTo(String value) {
            addCriterion("FI_ERROR_INFO =", value, "errorInfo");
            return (Criteria) this;
        }

        public Criteria andErrorInfoNotEqualTo(String value) {
            addCriterion("FI_ERROR_INFO <>", value, "errorInfo");
            return (Criteria) this;
        }

        public Criteria andErrorInfoGreaterThan(String value) {
            addCriterion("FI_ERROR_INFO >", value, "errorInfo");
            return (Criteria) this;
        }

        public Criteria andErrorInfoGreaterThanOrEqualTo(String value) {
            addCriterion("FI_ERROR_INFO >=", value, "errorInfo");
            return (Criteria) this;
        }

        public Criteria andErrorInfoLessThan(String value) {
            addCriterion("FI_ERROR_INFO <", value, "errorInfo");
            return (Criteria) this;
        }

        public Criteria andErrorInfoLessThanOrEqualTo(String value) {
            addCriterion("FI_ERROR_INFO <=", value, "errorInfo");
            return (Criteria) this;
        }

        public Criteria andErrorInfoLike(String value) {
            addCriterion("FI_ERROR_INFO like", value, "errorInfo");
            return (Criteria) this;
        }

        public Criteria andErrorInfoNotLike(String value) {
            addCriterion("FI_ERROR_INFO not like", value, "errorInfo");
            return (Criteria) this;
        }

        public Criteria andErrorInfoIn(List<String> values) {
            addCriterion("FI_ERROR_INFO in", values, "errorInfo");
            return (Criteria) this;
        }

        public Criteria andErrorInfoNotIn(List<String> values) {
            addCriterion("FI_ERROR_INFO not in", values, "errorInfo");
            return (Criteria) this;
        }

        public Criteria andErrorInfoBetween(String value1, String value2) {
            addCriterion("FI_ERROR_INFO between", value1, value2, "errorInfo");
            return (Criteria) this;
        }

        public Criteria andErrorInfoNotBetween(String value1, String value2) {
            addCriterion("FI_ERROR_INFO not between", value1, value2, "errorInfo");
            return (Criteria) this;
        }

        public Criteria andErrorLevelIsNull() {
            addCriterion("FI_ERROR_LEVEL is null");
            return (Criteria) this;
        }

        public Criteria andErrorLevelIsNotNull() {
            addCriterion("FI_ERROR_LEVEL is not null");
            return (Criteria) this;
        }

        public Criteria andErrorLevelEqualTo(Short value) {
            addCriterion("FI_ERROR_LEVEL =", value, "errorLevel");
            return (Criteria) this;
        }

        public Criteria andErrorLevelNotEqualTo(Short value) {
            addCriterion("FI_ERROR_LEVEL <>", value, "errorLevel");
            return (Criteria) this;
        }

        public Criteria andErrorLevelGreaterThan(Short value) {
            addCriterion("FI_ERROR_LEVEL >", value, "errorLevel");
            return (Criteria) this;
        }

        public Criteria andErrorLevelGreaterThanOrEqualTo(Short value) {
            addCriterion("FI_ERROR_LEVEL >=", value, "errorLevel");
            return (Criteria) this;
        }

        public Criteria andErrorLevelLessThan(Short value) {
            addCriterion("FI_ERROR_LEVEL <", value, "errorLevel");
            return (Criteria) this;
        }

        public Criteria andErrorLevelLessThanOrEqualTo(Short value) {
            addCriterion("FI_ERROR_LEVEL <=", value, "errorLevel");
            return (Criteria) this;
        }

        public Criteria andErrorLevelIn(List<Short> values) {
            addCriterion("FI_ERROR_LEVEL in", values, "errorLevel");
            return (Criteria) this;
        }

        public Criteria andErrorLevelNotIn(List<Short> values) {
            addCriterion("FI_ERROR_LEVEL not in", values, "errorLevel");
            return (Criteria) this;
        }

        public Criteria andErrorLevelBetween(Short value1, Short value2) {
            addCriterion("FI_ERROR_LEVEL between", value1, value2, "errorLevel");
            return (Criteria) this;
        }

        public Criteria andErrorLevelNotBetween(Short value1, Short value2) {
            addCriterion("FI_ERROR_LEVEL not between", value1, value2, "errorLevel");
            return (Criteria) this;
        }

        public Criteria andErrorTypeIsNull() {
            addCriterion("FI_ERROR_TYPE is null");
            return (Criteria) this;
        }

        public Criteria andErrorTypeIsNotNull() {
            addCriterion("FI_ERROR_TYPE is not null");
            return (Criteria) this;
        }

        public Criteria andErrorTypeEqualTo(Short value) {
            addCriterion("FI_ERROR_TYPE =", value, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeNotEqualTo(Short value) {
            addCriterion("FI_ERROR_TYPE <>", value, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeGreaterThan(Short value) {
            addCriterion("FI_ERROR_TYPE >", value, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeGreaterThanOrEqualTo(Short value) {
            addCriterion("FI_ERROR_TYPE >=", value, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeLessThan(Short value) {
            addCriterion("FI_ERROR_TYPE <", value, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeLessThanOrEqualTo(Short value) {
            addCriterion("FI_ERROR_TYPE <=", value, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeIn(List<Short> values) {
            addCriterion("FI_ERROR_TYPE in", values, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeNotIn(List<Short> values) {
            addCriterion("FI_ERROR_TYPE not in", values, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeBetween(Short value1, Short value2) {
            addCriterion("FI_ERROR_TYPE between", value1, value2, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeNotBetween(Short value1, Short value2) {
            addCriterion("FI_ERROR_TYPE not between", value1, value2, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorStatusIsNull() {
            addCriterion("FI_ERROR_STATUS is null");
            return (Criteria) this;
        }

        public Criteria andErrorStatusIsNotNull() {
            addCriterion("FI_ERROR_STATUS is not null");
            return (Criteria) this;
        }

        public Criteria andErrorStatusEqualTo(Short value) {
            addCriterion("FI_ERROR_STATUS =", value, "errorStatus");
            return (Criteria) this;
        }

        public Criteria andErrorStatusNotEqualTo(Short value) {
            addCriterion("FI_ERROR_STATUS <>", value, "errorStatus");
            return (Criteria) this;
        }

        public Criteria andErrorStatusGreaterThan(Short value) {
            addCriterion("FI_ERROR_STATUS >", value, "errorStatus");
            return (Criteria) this;
        }

        public Criteria andErrorStatusGreaterThanOrEqualTo(Short value) {
            addCriterion("FI_ERROR_STATUS >=", value, "errorStatus");
            return (Criteria) this;
        }

        public Criteria andErrorStatusLessThan(Short value) {
            addCriterion("FI_ERROR_STATUS <", value, "errorStatus");
            return (Criteria) this;
        }

        public Criteria andErrorStatusLessThanOrEqualTo(Short value) {
            addCriterion("FI_ERROR_STATUS <=", value, "errorStatus");
            return (Criteria) this;
        }

        public Criteria andErrorStatusIn(List<Short> values) {
            addCriterion("FI_ERROR_STATUS in", values, "errorStatus");
            return (Criteria) this;
        }

        public Criteria andErrorStatusNotIn(List<Short> values) {
            addCriterion("FI_ERROR_STATUS not in", values, "errorStatus");
            return (Criteria) this;
        }

        public Criteria andErrorStatusBetween(Short value1, Short value2) {
            addCriterion("FI_ERROR_STATUS between", value1, value2, "errorStatus");
            return (Criteria) this;
        }

        public Criteria andErrorStatusNotBetween(Short value1, Short value2) {
            addCriterion("FI_ERROR_STATUS not between", value1, value2, "errorStatus");
            return (Criteria) this;
        }

        public Criteria andTimeIsNull() {
            addCriterion("FD_TIME is null");
            return (Criteria) this;
        }

        public Criteria andTimeIsNotNull() {
            addCriterion("FD_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andTimeEqualTo(Date value) {
            addCriterionForJDBCDate("FD_TIME =", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("FD_TIME <>", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("FD_TIME >", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("FD_TIME >=", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeLessThan(Date value) {
            addCriterionForJDBCDate("FD_TIME <", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("FD_TIME <=", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeIn(List<Date> values) {
            addCriterionForJDBCDate("FD_TIME in", values, "time");
            return (Criteria) this;
        }

        public Criteria andTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("FD_TIME not in", values, "time");
            return (Criteria) this;
        }

        public Criteria andTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("FD_TIME between", value1, value2, "time");
            return (Criteria) this;
        }

        public Criteria andTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("FD_TIME not between", value1, value2, "time");
            return (Criteria) this;
        }

        public Criteria andRecvRawMsgidLikeInsensitive(String value) {
            addCriterion("upper(FC_RECV_RAW_MSG_ID) like", value.toUpperCase(), "recvRawMsgid");
            return (Criteria) this;
        }

        public Criteria andMessageidLikeInsensitive(String value) {
            addCriterion("upper(FC_MESSAGE_ID) like", value.toUpperCase(), "parseRawMsgid");
            return (Criteria) this;
        }

        public Criteria andSendRawMsgidLikeInsensitive(String value) {
            addCriterion("upper(FC_SEND_RAW_MSG_ID) like", value.toUpperCase(), "sendRawMsgid");
            return (Criteria) this;
        }

        public Criteria andMsgTypeLikeInsensitive(String value) {
            addCriterion("upper(FC_MSG_TYPE) like", value.toUpperCase(), "msgType");
            return (Criteria) this;
        }

        public Criteria andMsgFormateLikeInsensitive(String value) {
            addCriterion("upper(FC_MSG_FORMATE) like", value.toUpperCase(), "msgFormate");
            return (Criteria) this;
        }

        public Criteria andMsgSenderLikeInsensitive(String value) {
            addCriterion("upper(FC_MSG_SENDER) like", value.toUpperCase(), "msgSender");
            return (Criteria) this;
        }

        public Criteria andMsgReceiverLikeInsensitive(String value) {
            addCriterion("upper(FC_MSG_RECEIVER) like", value.toUpperCase(), "msgReceiver");
            return (Criteria) this;
        }

        public Criteria andErrorInfoLikeInsensitive(String value) {
            addCriterion("upper(FI_ERROR_INFO) like", value.toUpperCase(), "errorInfo");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}